package com.freight.common.wlhyupload.vo.zvo;

import com.freight.common.wlhyupload.vo.zvo.svo.DriverInfo;
import com.freight.common.wlhyupload.vo.zvo.svo.GoodsInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 车辆信息上传
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public final class VehicleInfo {

    /** 车辆牌照号（必填） */
    private String vehicleNumber;

    /** 车牌颜色代码（必填） */
    private String vehiclePlateColorCode;

    /** 挂车牌照号（如车辆类型为牵引车，则必填） */
    private String trailerVehiclePlateNumber;

    /** 挂车牌照颜色代码（如车辆类型为牵引车，则必填） */
    private String trailerVehiclePlateColorCode;

    /** 发货日期时间(YYYYMMDDhhmmss)（如果为分段运输，则必填） */
    private Long despatchActualDateTime;

    /** 收货日期时间(YYYYMMDDhhmmss)（如果为分段运输，则必填） */
    private Long goodsReceiptDateTime;

    /** 装货地址（如果为分段运输，则必填） */
    private String placeOfLoading;

    /** 装货地址的国家行政区划代码或国别代码（如果为分段运输，则必填） */
    private String loadingCountrySubdivisionCode;

    /** 收货地址（如果为分段运输，则必填） */
    private String goodsReceiptPlace;

    /** 收货地址的国家行政区划代码或国别代码（如果为分段运输，则必填） */
    private String receiptCountrySubdivisionCode;

    /** 驾驶员信息 */
    private List<DriverInfo> driver;

    /** 货物信息 */
    private List<GoodsInfo> goodsInfo;

}
